<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>文本转换器</title>
    <style>
        body {
            font-family: Arial, sans-serif;
        }

        .container {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
        }

        .input-container {
            width: 300px;
            margin-right: 20px;
        }

        textarea {
            width: 100%;
            height: 150px;
            margin-bottom: 10px;
        }

        button {
            display: block;
            width: 100%;
            padding: 10px;
            background-color: #007bff;
            color: #fff;
            border: none;
            cursor: pointer;
            margin-bottom: 10px;
        }

        button:hover {
            background-color: #0056b3;
        }
    </style>
</head>

<body>

    <div class="container">
        <div class="input-container">
            <textarea id="inputTextarea" placeholder="在此输入文本..."></textarea>
            <button onclick="convertText()">转换</button>
        </div>
        <div class="input-container">
            <textarea id="outputTextarea" placeholder="转换后的文本将显示在此处..." readonly></textarea>
            <button onclick="copyText()">复制</button>
        </div>
        <div class="input-container">
            <button onclick="clearText()">清空</button>
        </div>
    </div>

    <script>

        function deleSpac(str) { // 1 串的模板 2 清除哪边空格
            // 替换换行符
            var result = str.replace(/\n/g, '')
            // 替换 [ 和 { 之间的空格
            result = result.replace(/\[\s+\{/g, '[{')
            // 替换 { 和 " 之间的空格
            result = result.replace(/\{\s+"/g, '{"')
            // 替换 } 和 ] 之前的空格
            result = result.replace(/\s+(?=[}\]])/g, '')
            // 替换 , 和 " 之间的空格
            result = result.replace(/,\s+"/g, ',"')
            // 替换 " 和 } 之前的空格
            result = result.replace(/\s+"/g, '"')
            // 替换 , 和 { 之间的空格
            result = result.replace(/,\s+\{/g, ',{')
            return result
        }

        function convertText() {
            // 获取左侧文本框的值
            var inputText = document.getElementById("inputTextarea").value
            // 使用正则表达式替换空格和换行符，但保留日期和时间之间的空格
            var outputText = deleSpac(inputText)
            // 将处理后的文本放入右侧文本框
            document.getElementById("outputTextarea").value = outputText
        }

        function copyText() {
            // 获取右侧文本框的值
            var outputText = document.getElementById("outputTextarea").value
            // 创建临时textarea元素并将文本值赋给它
            var tempTextarea = document.createElement("textarea")
            tempTextarea.value = outputText
            // 将临时textarea元素添加到文档中
            document.body.appendChild(tempTextarea)
            // 选中临时textarea中的文本
            tempTextarea.select()
            // 将文本复制到剪贴板
            document.execCommand("copy")
            // 移除临时textarea元素
            document.body.removeChild(tempTextarea)
            // 提示复制成功
            alert("已复制到剪贴板！")
        }

        function clearText() {
            // 清空左侧文本框
            document.getElementById("inputTextarea").value = ""
            // 清空右侧文本框
            document.getElementById("outputTextarea").value = ""
        }
    </script>

</body>

</html>